package Procesador;

public class TipoArray implements Tipo {
	
	private String id;
	private Tipo tipoBase;
	private int num;
	private String mensaje;
	
	public TipoArray(String id,Tipo tipoBase,int num){
		this.id = id;
		this.tipoBase = tipoBase;
		this.num = num;
	}
	
	public TipoArray(String id,Tipo tipoBase,int num,String mensaje){
		this.id = id;
		this.tipoBase = tipoBase;
		this.num = num;
		this.mensaje = mensaje;
	}
	
	public String getID(){
		return id;
	}
	
	public Tipo getTipoBase(){
		return tipoBase;
	}
	
	public int getTam(){
		return num*tipoBase.getTam();
	}
	
	public String getMensaje() {
		return mensaje;
	}
	
	public int getNum() {
		return num;
	}
	
	public boolean equals(Object obj){
		if (this == obj)return true;
		if (this == null) return obj == null;
		if (!(obj instanceof TipoArray)) return false;
		TipoArray t = (TipoArray)obj;
		if (this == t)return true;
		if (!this.getID().equals(t.getID()))return false;
		return this.getTipoBase().equals(t.getTipoBase()) && this.getNum()==t.getNum();
	}
}
